Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Economy system refactor #2

Draft
wants to merge 5 commits into
base: economy
Choose a base branch
from

Conversation

murlodev
Copy link

Описание PR

Рефактор инфраструктуры системы экономики + добавление рабочих логов.

Почему / Баланс

Выполнено по договорённости с руководством проекта.

Технические детали

Отныне все банковские аккаунты хранятся в EconomyManager, который находится на сервере. Доступ к ним получить можно через присутствующие в менеджере методы (на Client, Shared и Server).
EconomyBankAccountComponent и все последующие итерации "носителей аккаунтов" не должны хранить в себе деньги, а должны лишь иметь ссылку на аккаунт (к примеру - ID).
Также упрощён и доработан порядок написания прототипов банковских карт. Это делается через поле AccountSetup, в котором прописываются изначальные параметры аккаунта. К примеру:

  - type: EconomyBankAccount
    accountIdByProto: Nanotrasen
    moneyHolderEntId: ThalerHolder
    accountSetup:
      accountID: NT-Command
      accountName: Станция
      allowedCurrency: Thaler
      balance: 10000

Также можно создавать пресеты, но при этом всё равно генерировать имя:

- type: EconomyBankAccount
    accountIdByProto: Nanotrasen
    moneyHolderEntId: ThalerHolder
    accountSetup:
      generateAccountID: true
      allowedCurrency: Thaler
      balance: 10000

Дополнительно имеется возможность изменения некоторых параметров при добавлении данного компонента другим энтити (например - ID картам):

- type: entity
  parent: IDCardStandard
  id: EngineeringIDCard
  name: engineer ID card
  components:
  - type: Sprite
    layers:
    - state: default
    - state: idstationengineer
  - type: PresetIdCard
    job: StationEngineer
  - type: EconomyBankAccount #SS14RU
    accountIdByProto: Nanotrasen
    moneyHolderEntId: ThalerHolder
    accountSetup:
      allowedCurrency: Thaler

В данном случае изменяется только валюта.

Медиа

нет

Требования

Критические изменения

Полое изменение порядка добавления банковских аккаунтов/работы с ними. Всё, что работало с экономикой, сломается.
Список изменений
no cl

@murlodev
Copy link
Author

@aw-c review

@murlodev murlodev changed the title Economy system refactor [WIP] Economy system refactor Dec 21, 2024
@murlodev murlodev marked this pull request as draft December 21, 2024 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant